草庐IT

Linux 系统启动过程

全部标签

ruby - 您如何为 Linux 的 ruby​​ gem 预编译 native 扩展?

我们有一个ruby​​应用程序,该应用程序依赖于具有native扩展的gem(在本例中为Nokogiri)。但是,由于各种原因,我们无法在我们的生产主机上安装该gem的构建先决条件(例如build-essential、libxslt-dev、ruby-dev等)。是否有(标准的?)方法可以使用预构建的native扩展重新打包gem?这应该是可能的(在Windows上执行此操作似乎是相当标准的),但我找不到关于该主题的任何文档。请注意,我们只需要支持一个平台,所有系统库的已知版本(Ubuntu9.04Server64位,Ruby1.8.7)。更新:我们正在使用Bundler,所以我们希望

ruby-on-rails - 无法通过 Homebrew 启动 elasticsearch 服务器

所以我通过brew安装了elasticsearch:$brewinstallelasticsearch然后当我运行elasticsearch服务器时:elasticsearch-f-Des.config=/usr/local/Cellar/elasticsearch/0.19.3/config/elasticsearch.yml我收到这个错误:{0.20.4}:SetupFailed...-FailedToResolveConfigException[Failedtoresolveconfigpath[/usr/local/Cellar/elasticsearch/0.19.3/con

ruby - 如何在低内存系统上使用 RVM 编译 ruby​​?

rvminstall1.9.3导致make.log中的错误:...compiling./enc/trans/emoji_sjis_docomo.ccompiling./enc/trans/emoji_sjis_kddi.cgcc:internalcompilererror:Killed(programcc1)gcc:internalcompilererror:Killed(programcc1)gcc:internalcompilererror:Killed(programcc1)Pleasesubmitafullbugreport,withpreprocessedsourceifap

ruby - 在 Ruby 中形成卫生 shell 命令或系统调用

我正在构建一个守护进程来帮助我管理我的服务器。Webmin工作正常,就像打开服务器的shell一样,但我更希望能够从我设计的UI控制服务器操作,并向最终用户公开一些功能。守护进程将从队列中获取Action并执行它们。但是,由于我将接受用户的输入,我想确保不允许他们将危险的东西注入(inject)到特权shell命令中。这里有一个片段可以说明我的问题:defperformsystem"usermod-p#{@options['shadow']}#{@options['username']}"end解释更多的要点:https://gist.github.com/773292我不确定典型的输

ruby - Amazon Linux 最新 ruby

AmazonLinux2012.03现在带有ruby​​1.9.3安装它(根据文档)sudoyuminstallruby19但是ruby-v显示1.8.7。我如何将它切换到1.9.3(如果它已经存在,就不需要使用RVM是吗?) 最佳答案 在AmazonLinux上执行此操作的正确方法是:sudoyumupdate(togetlatestversionofAmazonLinux(2013.09attimeofthisanswer)yuminstallruby19alternatives--setruby/usr/bin/ruby1.9

ruby-on-rails - Rails 服务器不通过命令 "Rails s"启动

我是ruby​​和rails的新手,我在ubuntu中安装了rails。但是当我通过键入“railss”转到启动服务器时,它不会启动并出现以下消息。但我可以通过命令railsnewnew_project创建一个新项目。请Rails专家帮助我。root@ubuntu:~#railssUsage:railsnewAPP_PATH[options]Options:-j,[--javascript=JAVASCRIPT]#PreconfigureforselectedJavaScriptlibrary#Default:jquery-m,[--template=TEMPLATE]#Pathtoa

ruby-on-rails - 如何使用 Ruby on Rails 简化软删除过程?

我想要一个模型,在该模型中我需要软删除记录并且在搜索时不在查找或任何其他条件中显示它们。我想保留模型而不删除记录。如何解决这个问题? 最佳答案 只需在rails4中使用一个关注点例子在这里moduleSoftDeletableextendActiveSupport::Concernincludeddodefault_scope{where(is_deleted:false)}scope:only_deleted,->{unscope(where::is_deleted).where(is_deleted:true)}enddefde

ruby - Cedar 的临时文件系统在 Heroku 上的实际限制

任何人都可以深入了解基于Cedar的Heroku应用程序可以支持的文件数量和dyno创建的文件的最大大小(单个和全部)的实际限制。 最佳答案 联系了Heroku支持。他们声称在临时文件系统上存储的文件数量或文件大小没有硬性限制。在实践中,如果dyno耗尽了管理文件的可用RAM和/或CPU资源,则dyno将被终止并重新启动,这将有效地破坏文件。 关于ruby-Cedar的临时文件系统在Heroku上的实际限制,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 为什么 Ruby 只在我的系统上抛出一个段错误,而且只在这个 Rails 应用程序中?

我不太确定如何正确调试它,但尝试了几种不同的方法,虽然浪费了时间,但没有解决问题。我办公室里至少有4个其他人可以在安装了相同版本的ruby​​和ruby​​gems的相同机器上执行此代码而没有错误。这是我正在执行的代码:status=Open4::popen4("swfmillsimplestdinstdout")do|pid,stdin,stdout,stderr|stdin.write(config)stdin.closebytes=stdout.readerrors=stderr.readend我在这条线路上收到“总线错误”:errors=stderr.read如果我评论该行,我

Linux 上的 Ruby PTY 在没有 EOF 的情况下消失,引发 Errno::EIO

我正在编写一些代码,它获取一个文件,将该文件传递给多个二进制文件之一进行处理,并监视转换过程中的错误。我已经在OSX上编写并测试了以下例程,但linux因我不清楚的原因而失败。#runthecommand,capturetheoutputsoitdoesn'tdisplayPTY.spawn(command){|r,w,pid|untilr.eof?do##markputsr.readlineend}运行的命令变化很大,##标记处的代码已简化为本地回显以尝试调试问题。命令执行,脚本在终端中打印预期的输出,然后抛出异常。它在Debian系统上产生的错误是:Errno::EIO(Input